/*
 * @Description: 点云滤波模块的接口
 * @Author: Zhijian Qiao
 * @Date: 2020-02-09 19:29:50
 */
#ifndef avp_slam_MODELS_CLOUD_FILTER_CLOUD_FILTER_INTERFACE_HPP_
#define avp_slam_MODELS_CLOUD_FILTER_CLOUD_FILTER_INTERFACE_HPP_

#include <yaml-cpp/yaml.h>
#include "include/sensor_data/cloud_data.hpp"
#include "glog/logging.h"

namespace avp_slam {
    class CloudFilterInterface {
    public:
        virtual ~CloudFilterInterface() = default;

        virtual bool Filter(const CloudData::CLOUD_PTR &input_cloud_ptr, CloudData::CLOUD_PTR &filtered_cloud_ptr) = 0;

        virtual bool
        RobustFilter(const CloudData::CLOUD_PTR &input_cloud_ptr, CloudData::CLOUD_PTR &filtered_cloud_ptr) = 0;
    };
}

#endif